#include <vector> 
#include <string> 
#include <fstream>
#include <sstream>
#include <iostream>
#include <cstdlib>
#include <list>
#include <cmath>
#include <map>


using namespace std;
class CCell {
public:
	vector <vector <double> > red, green, blue, grey;
	int load (string, string, string);
	vector <vector <int> > mask;
        vector <vector <int> > mask2;
        vector <vector <double> > delta;

        int recursize(int, int, int);
        vector <int> stat;
	int genMask ();
	int area ();
	double x_centr ();
	double y_centr(); 
	int N;
	double mean_radius ();
	double max_radius ();
	double min_radius ();
	double var_radius ();
	double sphericity ();
	double Xmoment2 ();
	double Ymoment2 ();
	double XYcrossmoment2 ();
	double eccentricity ();
	double inertia_shape ();
	double compactness ();
	double cell_orient ();
        int load (string);
        double DNA_Index ();
        double Ib();
        double DNA_max ();
        double OD_max();
        double OD_var ();
        double OD_skew();
        double lowDNAarea ();
        double hiDNAarea ();
        double lowDNAamnt ();
        double hiDNAamnt ();
        double hi_av_dst ();
        double mh_av_dst ();
        void getDelta();
        double entropy();
        double correlation ();
        double homogeneity ();
        double den_lit_spot ();
        double renge_average ();
        double fractal1_area ();
        double fractal2_area ();
        double fractal_dimen ();
        double grey_level ();
        double run_length ();
        double run_persent ();
        vector<double> getSignals();
        int Ozu (vector <vector <double> >);

    };
